<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>perror</title>
  <link href="../cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td>
  <div class="body-content">

  <div class="header-box">
    <a href="../index.html">cppreference.com</a> &gt; <a href=
    "index.html">Standard C I/O</a> &gt; <a href=
    "perror.html">perror</a>
  </div>

  <div class="name-format">
    perror
  </div>

  <div class="syntax-name-format">
    Syntax:
  </div>
  <pre class="syntax-box">
  #include &lt;stdio.h&gt;
  void perror( const char *str );
</pre>

  <p>The perror() function prints <em>str</em> and an
  implementation-defined error message corresponding to the global
  variable <em>errno</em>.  For example:</p>

  <pre class="example-code">
  char* input_filename = "not_found.txt";
  FILE* input = fopen( input_filename, "r" );
  if( input == NULL ) {
    char error_msg[255];
    sprintf( error_msg, "Error opening file '%s'", input_filename );
    perror( error_msg );
    exit( -1 );
  }
</pre>

  <p>The the file called <em>not_found.txt</em> is not found, this
  code will produce the following output:</p>

  <pre class="example-output">
  Error opening file 'not_found.txt': No such file or directory
</pre>

  <div class="related-name-format">
    Related topics:
  </div>

  <div class="related-content">
    <a href="clearerr.html">clearerr</a><br>
    <a href="feof.html">feof</a><br>
    <a href="ferror.html">ferror</a>
  </div>
  </div>
  </td>
  


  </tr>
  </table>
</body></html>
